Entity Framework এর কনফিগারেশন

Microsoft Technologies - এন্টিটি ফ্রেমওয়র্ক (Entity Framework) Entity Framework সেটআপ (Setting Up Entity Framework) |
180
180

Entity Framework (EF) সেটআপ এবং কনফিগারেশন গুরুত্বপূর্ণ পদক্ষেপ যাতে আপনি আপনার অ্যাপ্লিকেশন এবং ডেটাবেসের মধ্যে সঠিক যোগাযোগ নিশ্চিত করতে পারেন। EF-এর কনফিগারেশন দুটি মূল স্তরে করা হয়: ডাটাবেস কনফিগারেশন এবং মডেল কনফিগারেশন। এখানে আমরা EF এর কনফিগারেশনের গুরুত্বপূর্ণ অংশগুলো আলোচনা করব।


DbContext কনফিগারেশন

Entity Framework এ, DbContext হলো মূল শ্রেণী যা আপনার ডেটাবেসের সাথে যোগাযোগের জন্য ব্যবহৃত হয়। DbContext কনফিগারেশনের মাধ্যমে আপনি ডেটাবেস সংযোগ, মডেল কনফিগারেশন এবং অন্যান্য বিভিন্ন ফিচার কনফিগার করতে পারেন।

DbContext কী এবং এটি কিভাবে কাজ করে?

DbContext হলো Entity Framework এর কেন্দ্রবিন্দু, যা আপনার ডেটাবেসের Entities (টেবিলগুলো) প্রতিনিধিত্ব করে এবং ডেটাবেসের সাথে CRUD অপারেশন পরিচালনা করে।

DbContext ব্যবহার করার জন্য আপনাকে প্রথমে একটি ক্লাস তৈরি করতে হবে যা DbContext থেকে ইনহেরিট করবে।

public class ApplicationDbContext : DbContext
{
    public DbSet<User> Users { get; set; } // Entity for Users table
    public DbSet<Order> Orders { get; set; } // Entity for Orders table

    // DbContext Configuration
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("your_connection_string");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        // Additional model configuration can go here
    }
}
  • OnConfiguring: এই মেথডে আপনি ডেটাবেস কনফিগারেশন (যেমন, SQL Server বা অন্য ডেটাবেস) এবং সংযোগ স্ট্রিং নির্ধারণ করেন।
  • OnModelCreating: এখানে আপনি Fluent API ব্যবহার করে মডেল কনফিগারেশন করতে পারেন, যেমন কাস্টম কনফিগারেশন, রিলেশনশিপ কনফিগারেশন, এবং অন্য সেটিংস।

DbContext এর কনফিগারেশন কৌশল

1. Connection String

EF-এ সংযোগ করার জন্য connection string অপরিহার্য। এটি appsettings.json ফাইলে সংরক্ষণ করা হয় এবং DbContext এর মধ্যে সেট করা হয়।

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=.;Database=MyDatabase;Trusted_Connection=True;"
  }
}

DbContext ক্লাসে এই কনফিগারেশনটি এভাবে ব্যবহার করা হয়:

public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }
}

এখানে options ইনজেক্ট করা হয় Startup.cs-এ যেখানে DbContext কনফিগার করা হয়।

2. Fluent API কনফিগারেশন

Fluent API ব্যবহার করে আপনি মডেল কনফিগারেশন আরও বিস্তারিতভাবে করতে পারেন, যেমন প্রপার্টি কনফিগারেশন, রিলেশনশিপ কনফিগারেশন ইত্যাদি। এটি OnModelCreating মেথডের মধ্যে করা হয়।

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<User>()
                .HasKey(u => u.UserId);  // Primary Key configuration

    modelBuilder.Entity<Order>()
                .HasOne(o => o.User)    // One-to-Many relationship
                .WithMany(u => u.Orders)
                .HasForeignKey(o => o.UserId);
}
  • HasKey(): Primary Key কনফিগার করে।
  • HasOne() এবং WithMany(): One-to-Many রিলেশনশিপ কনফিগার করে।

3. Data Annotations কনফিগারেশন

Data Annotations হচ্ছে এমন একটি পদ্ধতি যেখানে আপনি মডেল ক্লাসে বিভিন্ন অ্যাট্রিবিউট ব্যবহার করে কনফিগারেশন নির্ধারণ করতে পারেন। উদাহরণস্বরূপ:

public class User
{
    [Key]
    public int UserId { get; set; }

    [Required]
    [MaxLength(100)]
    public string UserName { get; set; }

    public ICollection<Order> Orders { get; set; }
}
  • [Key]: Primary Key নির্ধারণ করে।
  • [Required]: প্রপার্টির জন্য মান নির্ধারণের বাধ্যবাধকতা।
  • [MaxLength]: প্রপার্টির সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে।

এই কনফিগারেশনটি OnModelCreating মেথডের মধ্যে করার প্রয়োজন নেই।


Entity Framework-এর অন্যান্য কনফিগারেশন পদ্ধতি

1. Dependency Injection (DI) এর মাধ্যমে DbContext কনফিগারেশন

EF Core অ্যাপ্লিকেশনগুলিতে Dependency Injection (DI) ব্যবহার করে DbContext ইনজেক্ট করা হয়। এটি সাধারণত Startup.cs বা Program.cs ফাইলে করা হয়।

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}

এখানে AddDbContext পদ্ধতির মাধ্যমে DbContext কনফিগার করা হয়েছে এবং UseSqlServer পদ্ধতির মাধ্যমে SQL Server ডেটাবেসের সংযোগ স্থাপন করা হয়েছে।

2. Database Initialization এবং Migrations

EF Core মাইগ্রেশন সিস্টেম ব্যবহার করে ডেটাবেসের স্কিমা আপডেট করতে পারেন। এটি ডেটাবেসের পরিবর্তনসমূহ ট্র্যাক করে এবং স্বয়ংক্রিয়ভাবে সেগুলো প্রয়োগ করে।

ডেটাবেসের প্রথম মাইগ্রেশন তৈরি করতে:

dotnet ef migrations add InitialCreate

ডেটাবেস আপডেট করতে:

dotnet ef database update

সারাংশ

Entity Framework এর কনফিগারেশন হলো একটি গুরুত্বপূর্ণ পদক্ষেপ যা ডেটাবেসের সাথে সম্পর্কিত বিভিন্ন সেটিংস নির্ধারণ করে। DbContext, Fluent API, Data Annotations, Dependency Injection, এবং Migrations ব্যবহারের মাধ্যমে আপনি আপনার Entity Framework অ্যাপ্লিকেশনকে কনফিগার করতে পারবেন। এসব কনফিগারেশন অ্যাপ্লিকেশনের পারফরম্যান্স এবং স্কেলেবিলিটি উন্নত করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion